
import { createPage, defineUserConfig, viteBundler } from 'vuepress'
import { defaultTheme } from 'vuepress'
import { getDirname, path } from '@vuepress/utils'
import { searchPlugin } from '@vuepress/plugin-search'

const dir_name = getDirname(import.meta.url)
const logo_url = path.resolve(dir_name, '../pics/dddu.jpg')
const gitee = 'https://gitee.com/deepinwiki/wiki.git'

export default defineUserConfig({
	lang: 'zh-Hans', // 设置页面的默认语言
	title: 'deepin天天用', // 作为页面标题的后缀： 网页标题|网站标题
	// <meta name="description" />
	description: 'deepin天天用QQ群：7343311', 
	base: '/', // 根目录，如网站位于 xxx 子目录下：/xxx/
	// 插入 head 标签下，一般是网站的元信息
	// 这里指定网站的小图标 
	// <link rel="icon" href="dddu32.ico" sizes="32x32" />  
	head:[['link',{rel:'icon',href:"dddu32.ico", sizes:"32x32"}],
		['link',{rel:'icon',href:"dddu48.ico", sizes:"48x48"}],
		['link',{rel:'icon',href:"dddu96.ico", sizes:"96x96"}],],
	// 本地化，可以设置 lang、title、description、head
	locales: {
		'/': { lang: 'zh-Hans' },
		'/en-US/': { lang: 'en' },
	}, 
	// 主题
	theme: defaultTheme({
		// 本地化按钮
		locales: {
			'/': { selectLanguageName: '中文' },
			'/en-US/': { selectLanguageName: 'English',
			navbar:['../vuepress.html'] },
		},
		// 导航栏
		// 将 gitee.com 替换为真实的网站即可使用搜索引擎来搜索内容
		navbar: ['./vuepress.html', 
		{text:"全站搜索", 
			children:[{text: '百度',link: 'https://www.baidu.com/s?wd=site:gitee.com deepinwiki'},
			{text: 'google', link: 'https://www.google.com/search?q=site:gitee.com deepinwiki'}]
		},
	],
		// git 仓库
		repo: gitee,
		// 网站标志
		logo: '@fs/' + logo_url,
		// 侧边栏目录深度
		sidebarDepth: 4,

	}),
	plugins:[
		// 本地搜索插件
		searchPlugin({
			// 搜索结果最大个数
			maxSuggestions:10,
		}),
	],
	// 初始化钩子，这里编程创建网站地图
	async onInitialized(app){
		// 找首页
		let root = app.pages.find(elem=> elem.path === '/')
		// 准备将目录内容插入到首页内容后面
		let append = '\n\n## 目录'
		app.pages.sort((a,b)=>b.data.git.updatedTime - a.data.git.updatedTime)

		app.pages.forEach((element,index) => {
			let slug = element.slug.trim()
			if (!slug) slug = "404"
			// [slug](link) 是 md 添加链接的语法
			// 为了节省空间，一行展示 4 个文件
			if ((index) % 4 == 0) append += '\n\n1. '
			append += `[${slug}](${element.path}) &ensp;&ensp;`
		})
		// 把原来的首页移除
		app.pages.splice(app.pages.indexOf(root), 1);
		// 把新的首页替换进去
		let new_root = await createPage(app, {
			path: '/',
			content: root.content + append,
		})
		app.pages.push(new_root)

		// 设置英语首页
		let en_root = app.pages.find(elem=>elem.path === '/README.en.html')
		en_root.lang='en'
		en_root.path='/en-US/'
	},

})

